Mô tả vấn đề

Cây tìm kiếm nhị phânTóm tắt

Nhiệm vụ của bạn là triển khai một Cây tìm kiếm nhị phân hỗ trợ bốn thao tác chính.

  • Số lượng thao tác là $N$, với điều kiện $1 \le N \le 2 \cdot 10^5$.
  • ins k: Chèn một khóa nguyên $k$ vào cây. Nếu $k$ đã tồn tại, thao tác này sẽ không thực hiện gì.
  • find k: Tìm kiếm khóa $k$. In ra 'true' nếu nó tồn tại, ngược lại in ra 'false'.
  • succ k: Tìm phần tử kế tiếp của $k$—khóa nhỏ nhất trong cây lớn hơn $k$ một cách nghiêm ngặt. In ra 'null' nếu không tồn tại.
  • pred k: Tìm phần tử tiền nhiệm của $k$—khóa lớn nhất trong cây nhỏ hơn $k$ một cách nghiêm ngặt. In ra 'null' nếu không tồn tại.
  • Giả định quan trọng: Đối với các truy vấn phần tử kế tiếp và tiền nhiệm, khóa $k$ được đảm bảo tồn tại trong cây.